package com.zdb.demo.design.pattern.creational.factorymethod;

public abstract class VideoFactory {

    public abstract Video getVideo();

//    public Video getVideo(String type) {
//        if("java".equalsIgnoreCase(type)) {
//            return new JavaVideo();
//        } else if("python".equalsIgnoreCase(type)) {
//            return new PythonVideo();
//        } else {
//            return null;
//        }
//    }
//
//    public Video getVideoByReflect(String className) {
//        Video video = null;
//        try {
//            video = (Video)Class.forName(className).newInstance();
//        } catch (InstantiationException e) {
//            e.printStackTrace();
//        } catch (IllegalAccessException e) {
//            e.printStackTrace();
//        } catch (ClassNotFoundException e) {
//            e.printStackTrace();
//        }
//        return video;
//    }
}
